package cn.weforward.task.di;


import java.util.HashMap;
import java.util.List;

import cn.weforward.common.ResultPage;
import cn.weforward.data.UniteId;
import cn.weforward.data.log.BusinessLog;
import cn.weforward.data.persister.BusinessDi;
import cn.weforward.task.Bug;
import cn.weforward.task.Task;
import cn.weforward.task.impl.SimpleBug;
import cn.weforward.task.impl.SimpleTask;

public interface TaskDi extends BusinessDi{
	

	/**
	 * 根据标签id查询任务
	 */
	ResultPage<SimpleTask> searchTasks(String tagId);
	/**
	 * 写日志
	 */
	void writeLog(UniteId id, String action, String what, String note);
	/**
	 * 获取日志
	 */
	ResultPage<BusinessLog> getLogs(UniteId id);
	/**
	 * 根据任务id获取任务
	 */
//	Task getTask(String id);
	/**
	 * 根据任务id获取子任务
	 */
	ResultPage<SimpleTask> getSonTasks(String fatherId);
	/**
	 * 根据任务id创建bug
	 * @return 
	 */
	Bug createBug(String content,String taskId,List<String> handler, String severity,String versionAndPlatForm);
	/**
	 * 根据任务id查询bugs
	 */
	ResultPage<SimpleBug> getAllBugs(String taskId);

	/**
	 * 统计指定任务下的bugs情况
	 */
	public HashMap<String, Integer> analyzeBugs(String taskId);
}
